Field of the Invention
The invention relates to a method for executing an application program of a control unit on a computer.
Description of the Background Art
In the development process for modern electronic control units, it is indispensable nowadays to test the control units as early in the development as possible.
Control units are electronic modules that are predominantly installed in places where something is electronically controlled or regulated. Electronic control units are used in the automotive field, in particular, where they perform such tasks as controlling mechanical or electric actuators and evaluating sensor data. Control units are considered embedded systems. An application program, for example for controlling the electronics, for processing sensor data, and/or for communication, is executed on a control unit.
In order to structure the control unit development process efficiently and to detect errors as early as possible, the application programs that are executed on the control unit typically are tested even before the control unit is present as hardware. These early tests are known as “virtual ECU testing” or as virtual control unit testing, and are disclosed, for example, in “Virtual Validation with dSPACE”, a dSPACE product information.
In virtual control unit testing, even though the control unit does not have to be physically present, the control unit code must be present in a hardware-independent high-level language (e.g., C/C++). As a rule, the processor core/computing core implementation of the test equipment is different from that of the control unit under test. For example, in PC-based test equipment, Intel processors that have a corresponding instruction set (e.g., Intel IA32) are used as computing cores of a first type, whereas control units are generally microcontroller-based, and thus have a computing core of a second type that differs from the first type and has a second instruction set (e.g., the C166 instruction set of the C166 microcontroller family) that differs from the first instruction set.
In virtual control unit testing, the application program has heretofore been executed as a user process of the computer operating system (e. g. Windows, MacOS, Linux) on a simulation computer or computer. User processes have the disadvantage that they generally have no capability for direct access to the computer hardware, as for example hardware units for implementing memory protection.